using System;
using ns27;
using Triton.Game.Mono;

namespace Triton.Game.Mapping
{
	[Attribute38("ReturningPlayerMgr")]
	public class ReturningPlayerMgr : MonoClass
	{
		public static int RETURNING_PLAYER_BANNER_ID => MonoClass.smethod_6<int>(TritonHs.MainAssemblyPath, "", "ReturningPlayerMgr", "RETURNING_PLAYER_BANNER_ID");

		public uint m_abTestGroup => method_2<uint>("m_abTestGroup");

		public long m_notificationSuppressionTimeSeconds => method_2<long>("m_notificationSuppressionTimeSeconds");

		public bool IsInReturningPlayerMode => method_11<bool>("get_IsInReturningPlayerMode", Array.Empty<object>());

		public bool IsInReturningPlayerModeAndOnRails => method_11<bool>("get_IsInReturningPlayerModeAndOnRails", Array.Empty<object>());

		public bool SuppressOldPopups => method_11<bool>("get_SuppressOldPopups", Array.Empty<object>());

		public uint AbTestGroup => method_11<uint>("get_AbTestGroup", Array.Empty<object>());

		public long NotificationSuppressionTimeDays => method_11<long>("get_NotificationSuppressionTimeDays", Array.Empty<object>());

		public ReturningPlayerMgr(IntPtr address, string className)
			: base(address, className)
		{
		}

		public ReturningPlayerMgr(IntPtr address)
			: this(address, "ReturningPlayerMgr")
		{
		}

		public static void Initialize()
		{
			MonoClass.smethod_17(TritonHs.MainAssemblyPath, "", "ReturningPlayerMgr", "Initialize");
		}

		public static ReturningPlayerMgr Get()
		{
			return MonoClass.smethod_15<ReturningPlayerMgr>(TritonHs.MainAssemblyPath, "", "ReturningPlayerMgr", "Get", Array.Empty<object>());
		}

		public bool ShouldShowReturningPlayerWelcomeBanner()
		{
			return method_11<bool>("ShouldShowReturningPlayerWelcomeBanner", Array.Empty<object>());
		}

		public void SetSeenReturningPlayerWelcomeBanner()
		{
			method_8("SetSeenReturningPlayerWelcomeBanner");
		}

		public void MakeOneTimeAccountChanges()
		{
			method_8("MakeOneTimeAccountChanges");
		}

		public bool PlayReturningPlayerInnkeeperGreetingIfNecessary()
		{
			return method_11<bool>("PlayReturningPlayerInnkeeperGreetingIfNecessary", Array.Empty<object>());
		}

		public bool PlayReturningPlayerInnkeeperChallengeIntroIfNecessary()
		{
			return method_11<bool>("PlayReturningPlayerInnkeeperChallengeIntroIfNecessary", Array.Empty<object>());
		}

		public void ShowOptOutDialog()
		{
			method_8("ShowOptOutDialog");
		}

		public void OptOutOfReturningPlayerDialogCallback()
		{
			method_8("OptOutOfReturningPlayerDialogCallback");
		}

		public void OnReturningPlayerOptOutResponse()
		{
			method_8("OnReturningPlayerOptOutResponse");
		}

		public bool ShouldSuppressNoticeWithTime(long noticeDateFileTimeUTC)
		{
			return method_11<bool>("ShouldSuppressNoticeWithTime", new object[1] { noticeDateFileTimeUTC });
		}

		public void TEST_SetReturningPlayerProgressComplete()
		{
			method_8("TEST_SetReturningPlayerProgressComplete");
		}

		public void Cheat_SetReturningPlayerProgress(int progress)
		{
			method_8("Cheat_SetReturningPlayerProgress", progress);
		}

		public void Cheat_ResetReturningPlayer()
		{
			method_8("Cheat_ResetReturningPlayer");
		}
	}
}
